|
Levenstein coding, or Levenshtein coding, is a universal code encoding the non-negative integers developed by Vladimir Levenshtein.〔 〕〔 〕 == Encoding == The code of zero is "0"; to code a positive number: #Initialize the step count variable ''C'' to 1. #Write the binary representation of the number without the leading "1" to the beginning of the code. #Let ''M'' be the number of bits written in step 2. #If ''M'' is not 0, increment ''C'', repeat from step 2 with M as the new number. #Write ''C'' "1" bits and a "0" to the beginning of the code. The code begins: To decode a Levenstein-coded integer: #Count the number of "1" bits until a "0" is encountered. #If the count is zero, the value is zero, otherwise #Start with a variable ''N'', set it to a value of 1 and repeat ''count minus 1'' times: #Read ''N'' bits, prepend "1", assign the resulting value to ''N'' The Levenstein code of a positive integer is always one bit longer than the Elias omega code of that integer. However, there is a Levenstein code for zero, whereas Elias omega coding would require the numbers to be shifted so that a zero is represented by the code for one instead. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Levenshtein coding」の詳細全文を読む スポンサード リンク
|